/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.fee.entity;

import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.modules.sys.entity.Office;

import javax.validation.constraints.NotNull;

/**
 * 应收发票明细表Entity
 * @author weisong
 * @version 2017-09-19
 */
public class PayInvoiceDetail extends DataEntity<PayInvoiceDetail> {
	
	private static final long serialVersionUID = 1L;
	private PayInvoice feePayInvoice;		// 应收发票
	private Payable feePayable;		// 应付账款
	private String clearingNo;		// 结算单号
	private Double clearingMoney;		// 结算金额
	private Double invoiceMoney;		// 已开票金额
	private Double invMoney;		// 本次开票金额
	private Office logistics;		// 物流组织
	private Double vcaMoney;        // 核销金额
	
	public PayInvoiceDetail() {
		super();
	}

	public PayInvoiceDetail(String id){
		super(id);
	}

	@ExcelField(title="应收发票", align=2, sort=6)
	public PayInvoice getFeePayInvoice() {
		return feePayInvoice;
	}

	public void setFeePayInvoice(PayInvoice feePayInvoice) {
		this.feePayInvoice = feePayInvoice;
	}
	
	@ExcelField(title="应付账款", align=2, sort=7)
	public Payable getFeePayable() {
		return feePayable;
	}

	public void setFeePayable(Payable feePayable) {
		this.feePayable = feePayable;
	}
	
	@ExcelField(title="结算单号", align=2, sort=8)
	public String getClearingNo() {
		return clearingNo;
	}

	public void setClearingNo(String clearingNo) {
		this.clearingNo = clearingNo;
	}
	
	@NotNull(message="结算金额不能为空")
	@ExcelField(title="结算金额", align=2, sort=9)
	public Double getClearingMoney() {
		return clearingMoney;
	}

	public void setClearingMoney(Double clearingMoney) {
		this.clearingMoney = clearingMoney;
	}
	
	@NotNull(message="已开票金额不能为空")
	@ExcelField(title="已开票金额", align=2, sort=10)
	public Double getInvoiceMoney() {
		return invoiceMoney;
	}

	public void setInvoiceMoney(Double invoiceMoney) {
		this.invoiceMoney = invoiceMoney;
	}
	
	@NotNull(message="本次开票金额不能为空")
	@ExcelField(title="本次开票金额", align=2, sort=11)
	public Double getInvMoney() {
		return invMoney;
	}

	public void setInvMoney(Double invMoney) {
		this.invMoney = invMoney;
	}
	
	@ExcelField(title="物流组织", fieldType=Office.class, value="logistics.name", align=2, sort=12)
	public Office getLogistics() {
		return logistics;
	}

	public void setLogistics(Office logistics) {
		this.logistics = logistics;
	}

	public Double getVcaMoney() {
		return vcaMoney;
	}

	public void setVcaMoney(Double vcaMoney) {
		this.vcaMoney = vcaMoney;
	}
}